package com.guigu.youxuan.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.guigu.youxuan.common.utils.PageUtils;
import com.guigu.youxuan.pojo.CartInfo;
import com.guigu.youxuan.pojo.dto.CartInfoDto;

import java.util.List;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author liweixin
 * @since 2024-05-15
 */
public interface ICartInfoService extends IService<CartInfo> {
    /**
     * 我的购物车
     * @param pageNo
     * @param pageSize
     * @return
     */
    PageUtils<CartInfoDto> cartInfoList(int sysUsersId,int pageNo, int pageSize);

    /**
     * 购物车数量
     * @param sysUsersId
     * @return
     */
    String selCarts(int sysUsersId);

    /**
     * 单个删除购物车
     * @param cartId
     * @return
     */
    void delCartInfo(int cartId);

    /**
     * 添加到购物车
     * @param sysUsersId
     * @param goodsId
     * @param goodsCount
     */
    void addToCart(int sysUsersId, int goodsId,int goodsCount);

    /**
     * 通过用户ID 商品ID查询购物车中是否已经存在该商品
     * @param sysUsersId
     * @param goodsId
     * @return
     */
    CartInfo getCartItem(int sysUsersId, int goodsId);

    /**
     * 如果购物车中已经存在该商品，则更新数量
     * @param goodsId
     * @param goodsCount
     */
    void updateCartCount(int goodsId,int goodsCount);
}
